package com.suning.sawp.po.mainpush;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Id;

/**
 * 
 * 〈主推任务公共属性〉<br>
 * 〈功能详细描述〉
 *
 * @author 12061748
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public class MainPushTask implements Serializable {
    /**
     * Serializable
     */
    private static final long serialVersionUID = 5947626897304546664L;

    /**
     * 任务编号
     */
    private Long taskNo;

    /**
     * 任务主题
     */
    private String taskTopic;

    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 开始时间
     */
    private String endTime;
    /**
     * 任务状态()
     */
    private String taskStatus;

    /**
     * 品类编码
     */
    private String categoryCode;
    /**
     * 品类名称
     */
    private String categoryName;

    /**
     * 任务更新时间
     */
    private String createTime;
    /**
     * 任务更新时间
     */
    private String updateTime;
    /**
     * 任务类型
     */
    private String taskType;

    /**
     * 组织编码
     */
    private String orgCode;
    /**
     * 组织名称
     */
    private String orgName;
    /**
     * 分配状态
     */
    private String assignStatus;

    @Id
    @Column(name = "TASK_NO")
    public Long getTaskNo() {
        return taskNo;
    }

    public void setTaskNo(Long taskNo) {
        this.taskNo = taskNo;
    }

    @Column(name = "TASK_TOPIC")
    public String getTaskTopic() {
        return taskTopic;
    }

    public void setTaskTopic(String taskTopic) {
        this.taskTopic = taskTopic;
    }

    @Column(name = "START_TIME")
    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    @Column(name = "ASSIGN_STATUS")
    public String getAssignStatus() {
        return assignStatus;
    }

    public void setAssignStatus(String assignStatus) {
        this.assignStatus = assignStatus;
    }

    @Column(name = "END_TIME")
    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    @Column(name = "TASK_STATUS")
    public String getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(String taskStatus) {
        this.taskStatus = taskStatus;
    }

    @Column(name = "CATEGORY_CODE")
    public String getCategoryCode() {
        return categoryCode;
    }

    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }

    @Column(name = "CATEGORY_NAME")
    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    @Column(name = "TASK_TYPE")
    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    @Column(name = "ORG_CODE")
    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    @Column(name = "ORG_NAME")
    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    /**
     * 
     * 〈分配状态常量类〉<br>
     * 〈功能详细描述〉
     *
     * @author 12061748
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static final class AssignStatusConstants {
        /**
         * 待分配，未分配
         */
        public static final String PRE_ASSIGN = "0";
        /**
         * 修改待分配
         */
        public static final String MODITY_TOBE_ASSIGN = "1";
        /**
         * 已分配
         */
        public static final String ASSIGNED = "2";

        private AssignStatusConstants() {
        }
    }

    /**
     * 
     * 〈任务状态常量类〉<br>
     * 〈功能详细描述〉
     *
     * @author 12061748
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static final class TaskStatusConstants {
        /**
         * 未开始
         */
        public static final String NOT_BEGIN = "0";
        /**
         * 进行中
         */
        public static final String CARRIED_OUT = "1";
        /**
         * 已结束
         */
        public static final String IS_END = "2";
        /**
         * 已删除（门店和店员任务使用的状态-未阅）
         */
        public static final String IS_DELETE = "3";
        
        /**
         * 已删除已阅（门店和店员任务使用的状态）
         */
        public static final String DEL_READ = "4";

        private TaskStatusConstants() {
        }
    }

    /**
     * 
     * 〈商品状态常量类〉<br>
     * 〈功能详细描述〉
     *
     * @author 12061748
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static final class CommodityStatusConstants {
        /**
         * 已删除未阅
         */
        public static final String IS_DELETE = "0";
        
        /**
         * 正常状态
         */
        public static final String NOT_DELETE = "1";
        /**
         * 新建
         */
        public static final String NEW = "2";
        /**
         * 更新 
         */
        public static final String MODIFIED = "3";
        
        /**
         * 已删除未阅
         */
        public static final String DEL_NO_READ = "0";
        
        /**
         * 已删除已阅
         */
        public static final String DEL_READ = "-1";

        private CommodityStatusConstants() {
        }

    }

    /**
     * 
     * 〈组织层级常量类〉<br>
     * 〈功能详细描述〉
     *
     * @author 12061748
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static final class OrgLevelConstants {
        /**
         * 总部
         */
        public static final String LEVEL_HQ = "0";
        /**
         * 大区
         */
        public static final String LEVEL_REGION = "1";
        /**
         * 分公司
         */
        public static final String LEVEL_COMPANY = "2";
        /**
         * 门店
         */
        public static final String LEVEL_STORE = "3";

        /**
         * 店员
         */
        public static final String LEVEL_CLERK  = "4";
        
        private OrgLevelConstants() {
        }
    }
}
